Programmable logic devices are semiconductor integrated circuits that can be rewritten after the chips are manufactured. A programmable logic device includes a plurality of wiring lines, of which selected two wiring lines are electrically connected or disconnected. Some methods are known to control the connection state.
One of the methods for controlling the connection of wiring lines uses transistors and memory elements. The memory elements are electrically programmable. The transistors are turned on or off based on data programmed in the memory elements. SRAMs are typically used as the memory elements.
Another method is also known, in which a resistive change memory is disposed between two or more wiring lines. Nonvolatile resistive change elements with two terminals are known as the resistive change memories. A low-resistance state and a high-resistance state of a nonvolatile resistive change memory may be switched by applying a predetermined voltage between the two terminals.
Circuits including many memory elements are generally likely to have defective elements. Therefore, redundant bits for replacing defective bits are prepared in advance to perform a correct circuit operation even if some memory elements are defective. However, a technique of replacing defective bits with redundant bits in a programmable logic device including resistive change memory elements has not yet been known.